export class Popup {
    /**
     * 提示框，默认显示2000ms
     * @param text 提示文字，
     * @param type 可不填，true为成功提示，空或false为失败提示
     */
    public toast(text: string | any, type = false) {
        if (text) {
            uni.showToast({
                title: String(text),
                icon: type ? 'success' : 'none',
            })
        }
    }

    /**
     * 模态弹窗，显示确认和取消按钮
     * @param title 提示标题，
     * @param content 提示内容，
     * @returns  Promise 使用.then({})表示确定操作.catch({})表示取消操作
     */
    public modal({ title, content }: { title: string; content: string }) {
        return new Promise<void>((resolve, reject) => {
            uni.showModal({
                title,
                content,
                success: (res) => {
                    res.confirm ? resolve() : reject()
                },
                fail: (err) => {
                    reject(err)
                },
            })
        })
    }

    /**
     * 模态弹窗，只显示确认按钮
     * @param title 提示标题，
     * @param content 提示内容，
     * @returns  Promise 使用.then({})表示确定操作
     */
    public alert({ title, content }: { title: string; content: string }) {
        return new Promise<void>((resolve) => {
            uni.showModal({
                title,
                content,
                showCancel: false,
                success: () => {
                    resolve()
                },
                fail: (err) => {
                    console.log('alert模态弹窗报错：', err)
                },
            })
        })
    }
}
